home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / austream.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  21KB  |  716 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for austream.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __austream_h__
  37. #define __austream_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __IAudioMediaStream_FWD_DEFINED__
  46. #define __IAudioMediaStream_FWD_DEFINED__
  47. typedef interface IAudioMediaStream IAudioMediaStream;
  48. #endif     /* __IAudioMediaStream_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IAudioStreamSample_FWD_DEFINED__
  52. #define __IAudioStreamSample_FWD_DEFINED__
  53. typedef interface IAudioStreamSample IAudioStreamSample;
  54. #endif     /* __IAudioStreamSample_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IMemoryData_FWD_DEFINED__
  58. #define __IMemoryData_FWD_DEFINED__
  59. typedef interface IMemoryData IMemoryData;
  60. #endif     /* __IMemoryData_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IAudioData_FWD_DEFINED__
  64. #define __IAudioData_FWD_DEFINED__
  65. typedef interface IAudioData IAudioData;
  66. #endif     /* __IAudioData_FWD_DEFINED__ */
  67.  
  68.  
  69. /* header files for imported files */
  70. #include "unknwn.h"
  71. #include "mmstream.h"
  72.  
  73. #ifdef __cplusplus
  74. extern "C"{
  75. #endif 
  76.  
  77. void * __RPC_USER MIDL_user_allocate(size_t);
  78. void __RPC_USER MIDL_user_free( void * ); 
  79.  
  80. /* interface __MIDL_itf_austream_0000 */
  81. /* [local] */ 
  82.  
  83. //
  84. //    The following declarations within the 'if 0' block are dummy typedefs used to make
  85. //    the ddstream.idl file build.  The actual definitions are contained in DDRAW.H
  86. //
  87. #if 0
  88. typedef struct tWAVEFORMATEX WAVEFORMATEX;
  89.  
  90. #endif
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_c_ifspec;
  98. extern RPC_IF_HANDLE __MIDL_itf_austream_0000_v0_0_s_ifspec;
  99.  
  100. #ifndef __IAudioMediaStream_INTERFACE_DEFINED__
  101. #define __IAudioMediaStream_INTERFACE_DEFINED__
  102.  
  103. /* interface IAudioMediaStream */
  104. /* [unique][uuid][local][object] */ 
  105.  
  106.  
  107. EXTERN_C const IID IID_IAudioMediaStream;
  108.  
  109. #if defined(__cplusplus) && !defined(CINTERFACE)
  110.     
  111.     MIDL_INTERFACE("f7537560-a3be-11d0-8212-00c04fc32c45")
  112.     IAudioMediaStream : public IMediaStream
  113.     {
  114.     public:
  115.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  116.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent) = 0;
  117.         
  118.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  119.             /* [in] */ const WAVEFORMATEX *lpWaveFormat) = 0;
  120.         
  121.         virtual HRESULT STDMETHODCALLTYPE CreateSample( 
  122.             /* [in] */ IAudioData *pAudioData,
  123.             /* [in] */ DWORD dwFlags,
  124.             /* [out] */ IAudioStreamSample **ppSample) = 0;
  125.         
  126.     };
  127.     
  128. #else     /* C style interface */
  129.  
  130.     typedef struct IAudioMediaStreamVtbl
  131.     {
  132.         BEGIN_INTERFACE
  133.         
  134.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  135.             IAudioMediaStream * This,
  136.             /* [in] */ REFIID riid,
  137.             /* [iid_is][out] */ void **ppvObject);
  138.         
  139.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  140.             IAudioMediaStream * This);
  141.         
  142.         ULONG ( STDMETHODCALLTYPE *Release )( 
  143.             IAudioMediaStream * This);
  144.         
  145.         HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )( 
  146.             IAudioMediaStream * This,
  147.             /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  148.         
  149.         HRESULT ( STDMETHODCALLTYPE *GetInformation )( 
  150.             IAudioMediaStream * This,
  151.             /* [out] */ MSPID *pPurposeId,
  152.             /* [out] */ STREAM_TYPE *pType);
  153.         
  154.         HRESULT ( STDMETHODCALLTYPE *SetSameFormat )( 
  155.             IAudioMediaStream * This,
  156.             /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  157.             /* [in] */ DWORD dwFlags);
  158.         
  159.         HRESULT ( STDMETHODCALLTYPE *AllocateSample )( 
  160.             IAudioMediaStream * This,
  161.             /* [in] */ DWORD dwFlags,
  162.             /* [out] */ IStreamSample **ppSample);
  163.         
  164.         HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )( 
  165.             IAudioMediaStream * This,
  166.             /* [in] */ IStreamSample *pExistingSample,
  167.             /* [in] */ DWORD dwFlags,
  168.             /* [out] */ IStreamSample **ppNewSample);
  169.         
  170.         HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )( 
  171.             IAudioMediaStream * This,
  172.             DWORD dwFlags);
  173.         
  174.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  175.             IAudioMediaStream * This,
  176.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  177.         
  178.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  179.             IAudioMediaStream * This,
  180.             /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  181.         
  182.         HRESULT ( STDMETHODCALLTYPE *CreateSample )( 
  183.             IAudioMediaStream * This,
  184.             /* [in] */ IAudioData *pAudioData,
  185.             /* [in] */ DWORD dwFlags,
  186.             /* [out] */ IAudioStreamSample **ppSample);
  187.         
  188.         END_INTERFACE
  189.     } IAudioMediaStreamVtbl;
  190.  
  191.     interface IAudioMediaStream
  192.     {
  193.         CONST_VTBL struct IAudioMediaStreamVtbl *lpVtbl;
  194.     };
  195.  
  196.     
  197.  
  198. #ifdef COBJMACROS
  199.  
  200.  
  201. #define IAudioMediaStream_QueryInterface(This,riid,ppvObject)    \
  202.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  203.  
  204. #define IAudioMediaStream_AddRef(This)    \
  205.     (This)->lpVtbl -> AddRef(This)
  206.  
  207. #define IAudioMediaStream_Release(This)    \
  208.     (This)->lpVtbl -> Release(This)
  209.  
  210.  
  211. #define IAudioMediaStream_GetMultiMediaStream(This,ppMultiMediaStream)    \
  212.     (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  213.  
  214. #define IAudioMediaStream_GetInformation(This,pPurposeId,pType)    \
  215.     (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  216.  
  217. #define IAudioMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)    \
  218.     (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  219.  
  220. #define IAudioMediaStream_AllocateSample(This,dwFlags,ppSample)    \
  221.     (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  222.  
  223. #define IAudioMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)    \
  224.     (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  225.  
  226. #define IAudioMediaStream_SendEndOfStream(This,dwFlags)    \
  227.     (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  228.  
  229.  
  230. #define IAudioMediaStream_GetFormat(This,pWaveFormatCurrent)    \
  231.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  232.  
  233. #define IAudioMediaStream_SetFormat(This,lpWaveFormat)    \
  234.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  235.  
  236. #define IAudioMediaStream_CreateSample(This,pAudioData,dwFlags,ppSample)    \
  237.     (This)->lpVtbl -> CreateSample(This,pAudioData,dwFlags,ppSample)
  238.  
  239. #endif /* COBJMACROS */
  240.  
  241.  
  242. #endif     /* C style interface */
  243.  
  244.  
  245.  
  246. HRESULT STDMETHODCALLTYPE IAudioMediaStream_GetFormat_Proxy( 
  247.     IAudioMediaStream * This,
  248.     /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  249.  
  250.  
  251. void __RPC_STUB IAudioMediaStream_GetFormat_Stub(
  252.     IRpcStubBuffer *This,
  253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  254.     PRPC_MESSAGE _pRpcMessage,
  255.     DWORD *_pdwStubPhase);
  256.  
  257.  
  258. HRESULT STDMETHODCALLTYPE IAudioMediaStream_SetFormat_Proxy( 
  259.     IAudioMediaStream * This,
  260.     /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  261.  
  262.  
  263. void __RPC_STUB IAudioMediaStream_SetFormat_Stub(
  264.     IRpcStubBuffer *This,
  265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  266.     PRPC_MESSAGE _pRpcMessage,
  267.     DWORD *_pdwStubPhase);
  268.  
  269.  
  270. HRESULT STDMETHODCALLTYPE IAudioMediaStream_CreateSample_Proxy( 
  271.     IAudioMediaStream * This,
  272.     /* [in] */ IAudioData *pAudioData,
  273.     /* [in] */ DWORD dwFlags,
  274.     /* [out] */ IAudioStreamSample **ppSample);
  275.  
  276.  
  277. void __RPC_STUB IAudioMediaStream_CreateSample_Stub(
  278.     IRpcStubBuffer *This,
  279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  280.     PRPC_MESSAGE _pRpcMessage,
  281.     DWORD *_pdwStubPhase);
  282.  
  283.  
  284.  
  285. #endif     /* __IAudioMediaStream_INTERFACE_DEFINED__ */
  286.  
  287.  
  288. #ifndef __IAudioStreamSample_INTERFACE_DEFINED__
  289. #define __IAudioStreamSample_INTERFACE_DEFINED__
  290.  
  291. /* interface IAudioStreamSample */
  292. /* [unique][uuid][local][object] */ 
  293.  
  294.  
  295. EXTERN_C const IID IID_IAudioStreamSample;
  296.  
  297. #if defined(__cplusplus) && !defined(CINTERFACE)
  298.     
  299.     MIDL_INTERFACE("345fee00-aba5-11d0-8212-00c04fc32c45")
  300.     IAudioStreamSample : public IStreamSample
  301.     {
  302.     public:
  303.         virtual HRESULT STDMETHODCALLTYPE GetAudioData( 
  304.             /* [out] */ IAudioData **ppAudio) = 0;
  305.         
  306.     };
  307.     
  308. #else     /* C style interface */
  309.  
  310.     typedef struct IAudioStreamSampleVtbl
  311.     {
  312.         BEGIN_INTERFACE
  313.         
  314.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  315.             IAudioStreamSample * This,
  316.             /* [in] */ REFIID riid,
  317.             /* [iid_is][out] */ void **ppvObject);
  318.         
  319.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  320.             IAudioStreamSample * This);
  321.         
  322.         ULONG ( STDMETHODCALLTYPE *Release )( 
  323.             IAudioStreamSample * This);
  324.         
  325.         HRESULT ( STDMETHODCALLTYPE *GetMediaStream )( 
  326.             IAudioStreamSample * This,
  327.             /* [in] */ IMediaStream **ppMediaStream);
  328.         
  329.         HRESULT ( STDMETHODCALLTYPE *GetSampleTimes )( 
  330.             IAudioStreamSample * This,
  331.             /* [out] */ STREAM_TIME *pStartTime,
  332.             /* [out] */ STREAM_TIME *pEndTime,
  333.             /* [out] */ STREAM_TIME *pCurrentTime);
  334.         
  335.         HRESULT ( STDMETHODCALLTYPE *SetSampleTimes )( 
  336.             IAudioStreamSample * This,
  337.             /* [in] */ const STREAM_TIME *pStartTime,
  338.             /* [in] */ const STREAM_TIME *pEndTime);
  339.         
  340.         HRESULT ( STDMETHODCALLTYPE *Update )( 
  341.             IAudioStreamSample * This,
  342.             /* [in] */ DWORD dwFlags,
  343.             /* [in] */ HANDLE hEvent,
  344.             /* [in] */ PAPCFUNC pfnAPC,
  345.             /* [in] */ DWORD_PTR dwAPCData);
  346.         
  347.         HRESULT ( STDMETHODCALLTYPE *CompletionStatus )( 
  348.             IAudioStreamSample * This,
  349.             /* [in] */ DWORD dwFlags,
  350.             /* [in] */ DWORD dwMilliseconds);
  351.         
  352.         HRESULT ( STDMETHODCALLTYPE *GetAudioData )( 
  353.             IAudioStreamSample * This,
  354.             /* [out] */ IAudioData **ppAudio);
  355.         
  356.         END_INTERFACE
  357.     } IAudioStreamSampleVtbl;
  358.  
  359.     interface IAudioStreamSample
  360.     {
  361.         CONST_VTBL struct IAudioStreamSampleVtbl *lpVtbl;
  362.     };
  363.  
  364.     
  365.  
  366. #ifdef COBJMACROS
  367.  
  368.  
  369. #define IAudioStreamSample_QueryInterface(This,riid,ppvObject)    \
  370.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  371.  
  372. #define IAudioStreamSample_AddRef(This)    \
  373.     (This)->lpVtbl -> AddRef(This)
  374.  
  375. #define IAudioStreamSample_Release(This)    \
  376.     (This)->lpVtbl -> Release(This)
  377.  
  378.  
  379. #define IAudioStreamSample_GetMediaStream(This,ppMediaStream)    \
  380.     (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  381.  
  382. #define IAudioStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)    \
  383.     (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  384.  
  385. #define IAudioStreamSample_SetSampleTimes(This,pStartTime,pEndTime)    \
  386.     (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  387.  
  388. #define IAudioStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)    \
  389.     (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  390.  
  391. #define IAudioStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds)    \
  392.     (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  393.  
  394.  
  395. #define IAudioStreamSample_GetAudioData(This,ppAudio)    \
  396.     (This)->lpVtbl -> GetAudioData(This,ppAudio)
  397.  
  398. #endif /* COBJMACROS */
  399.  
  400.  
  401. #endif     /* C style interface */
  402.  
  403.  
  404.  
  405. HRESULT STDMETHODCALLTYPE IAudioStreamSample_GetAudioData_Proxy( 
  406.     IAudioStreamSample * This,
  407.     /* [out] */ IAudioData **ppAudio);
  408.  
  409.  
  410. void __RPC_STUB IAudioStreamSample_GetAudioData_Stub(
  411.     IRpcStubBuffer *This,
  412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  413.     PRPC_MESSAGE _pRpcMessage,
  414.     DWORD *_pdwStubPhase);
  415.  
  416.  
  417.  
  418. #endif     /* __IAudioStreamSample_INTERFACE_DEFINED__ */
  419.  
  420.  
  421. #ifndef __IMemoryData_INTERFACE_DEFINED__
  422. #define __IMemoryData_INTERFACE_DEFINED__
  423.  
  424. /* interface IMemoryData */
  425. /* [unique][uuid][local][object] */ 
  426.  
  427.  
  428. EXTERN_C const IID IID_IMemoryData;
  429.  
  430. #if defined(__cplusplus) && !defined(CINTERFACE)
  431.     
  432.     MIDL_INTERFACE("327fc560-af60-11d0-8212-00c04fc32c45")
  433.     IMemoryData : public IUnknown
  434.     {
  435.     public:
  436.         virtual HRESULT STDMETHODCALLTYPE SetBuffer( 
  437.             /* [in] */ DWORD cbSize,
  438.             /* [in] */ BYTE *pbData,
  439.             /* [in] */ DWORD dwFlags) = 0;
  440.         
  441.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  442.             /* [out] */ DWORD *pdwLength,
  443.             /* [out] */ BYTE **ppbData,
  444.             /* [out] */ DWORD *pcbActualData) = 0;
  445.         
  446.         virtual HRESULT STDMETHODCALLTYPE SetActual( 
  447.             /* [in] */ DWORD cbDataValid) = 0;
  448.         
  449.     };
  450.     
  451. #else     /* C style interface */
  452.  
  453.     typedef struct IMemoryDataVtbl
  454.     {
  455.         BEGIN_INTERFACE
  456.         
  457.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  458.             IMemoryData * This,
  459.             /* [in] */ REFIID riid,
  460.             /* [iid_is][out] */ void **ppvObject);
  461.         
  462.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  463.             IMemoryData * This);
  464.         
  465.         ULONG ( STDMETHODCALLTYPE *Release )( 
  466.             IMemoryData * This);
  467.         
  468.         HRESULT ( STDMETHODCALLTYPE *SetBuffer )( 
  469.             IMemoryData * This,
  470.             /* [in] */ DWORD cbSize,
  471.             /* [in] */ BYTE *pbData,
  472.             /* [in] */ DWORD dwFlags);
  473.         
  474.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  475.             IMemoryData * This,
  476.             /* [out] */ DWORD *pdwLength,
  477.             /* [out] */ BYTE **ppbData,
  478.             /* [out] */ DWORD *pcbActualData);
  479.         
  480.         HRESULT ( STDMETHODCALLTYPE *SetActual )( 
  481.             IMemoryData * This,
  482.             /* [in] */ DWORD cbDataValid);
  483.         
  484.         END_INTERFACE
  485.     } IMemoryDataVtbl;
  486.  
  487.     interface IMemoryData
  488.     {
  489.         CONST_VTBL struct IMemoryDataVtbl *lpVtbl;
  490.     };
  491.  
  492.     
  493.  
  494. #ifdef COBJMACROS
  495.  
  496.  
  497. #define IMemoryData_QueryInterface(This,riid,ppvObject)    \
  498.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  499.  
  500. #define IMemoryData_AddRef(This)    \
  501.     (This)->lpVtbl -> AddRef(This)
  502.  
  503. #define IMemoryData_Release(This)    \
  504.     (This)->lpVtbl -> Release(This)
  505.  
  506.  
  507. #define IMemoryData_SetBuffer(This,cbSize,pbData,dwFlags)    \
  508.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  509.  
  510. #define IMemoryData_GetInfo(This,pdwLength,ppbData,pcbActualData)    \
  511.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  512.  
  513. #define IMemoryData_SetActual(This,cbDataValid)    \
  514.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  515.  
  516. #endif /* COBJMACROS */
  517.  
  518.  
  519. #endif     /* C style interface */
  520.  
  521.  
  522.  
  523. HRESULT STDMETHODCALLTYPE IMemoryData_SetBuffer_Proxy( 
  524.     IMemoryData * This,
  525.     /* [in] */ DWORD cbSize,
  526.     /* [in] */ BYTE *pbData,
  527.     /* [in] */ DWORD dwFlags);
  528.  
  529.  
  530. void __RPC_STUB IMemoryData_SetBuffer_Stub(
  531.     IRpcStubBuffer *This,
  532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  533.     PRPC_MESSAGE _pRpcMessage,
  534.     DWORD *_pdwStubPhase);
  535.  
  536.  
  537. HRESULT STDMETHODCALLTYPE IMemoryData_GetInfo_Proxy( 
  538.     IMemoryData * This,
  539.     /* [out] */ DWORD *pdwLength,
  540.     /* [out] */ BYTE **ppbData,
  541.     /* [out] */ DWORD *pcbActualData);
  542.  
  543.  
  544. void __RPC_STUB IMemoryData_GetInfo_Stub(
  545.     IRpcStubBuffer *This,
  546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  547.     PRPC_MESSAGE _pRpcMessage,
  548.     DWORD *_pdwStubPhase);
  549.  
  550.  
  551. HRESULT STDMETHODCALLTYPE IMemoryData_SetActual_Proxy( 
  552.     IMemoryData * This,
  553.     /* [in] */ DWORD cbDataValid);
  554.  
  555.  
  556. void __RPC_STUB IMemoryData_SetActual_Stub(
  557.     IRpcStubBuffer *This,
  558.     IRpcChannelBuffer *_pRpcChannelBuffer,
  559.     PRPC_MESSAGE _pRpcMessage,
  560.     DWORD *_pdwStubPhase);
  561.  
  562.  
  563.  
  564. #endif     /* __IMemoryData_INTERFACE_DEFINED__ */
  565.  
  566.  
  567. #ifndef __IAudioData_INTERFACE_DEFINED__
  568. #define __IAudioData_INTERFACE_DEFINED__
  569.  
  570. /* interface IAudioData */
  571. /* [unique][uuid][local][object] */ 
  572.  
  573.  
  574. EXTERN_C const IID IID_IAudioData;
  575.  
  576. #if defined(__cplusplus) && !defined(CINTERFACE)
  577.     
  578.     MIDL_INTERFACE("54c719c0-af60-11d0-8212-00c04fc32c45")
  579.     IAudioData : public IMemoryData
  580.     {
  581.     public:
  582.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  583.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent) = 0;
  584.         
  585.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  586.             /* [in] */ const WAVEFORMATEX *lpWaveFormat) = 0;
  587.         
  588.     };
  589.     
  590. #else     /* C style interface */
  591.  
  592.     typedef struct IAudioDataVtbl
  593.     {
  594.         BEGIN_INTERFACE
  595.         
  596.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  597.             IAudioData * This,
  598.             /* [in] */ REFIID riid,
  599.             /* [iid_is][out] */ void **ppvObject);
  600.         
  601.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  602.             IAudioData * This);
  603.         
  604.         ULONG ( STDMETHODCALLTYPE *Release )( 
  605.             IAudioData * This);
  606.         
  607.         HRESULT ( STDMETHODCALLTYPE *SetBuffer )( 
  608.             IAudioData * This,
  609.             /* [in] */ DWORD cbSize,
  610.             /* [in] */ BYTE *pbData,
  611.             /* [in] */ DWORD dwFlags);
  612.         
  613.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  614.             IAudioData * This,
  615.             /* [out] */ DWORD *pdwLength,
  616.             /* [out] */ BYTE **ppbData,
  617.             /* [out] */ DWORD *pcbActualData);
  618.         
  619.         HRESULT ( STDMETHODCALLTYPE *SetActual )( 
  620.             IAudioData * This,
  621.             /* [in] */ DWORD cbDataValid);
  622.         
  623.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  624.             IAudioData * This,
  625.             /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  626.         
  627.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  628.             IAudioData * This,
  629.             /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  630.         
  631.         END_INTERFACE
  632.     } IAudioDataVtbl;
  633.  
  634.     interface IAudioData
  635.     {
  636.         CONST_VTBL struct IAudioDataVtbl *lpVtbl;
  637.     };
  638.  
  639.     
  640.  
  641. #ifdef COBJMACROS
  642.  
  643.  
  644. #define IAudioData_QueryInterface(This,riid,ppvObject)    \
  645.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  646.  
  647. #define IAudioData_AddRef(This)    \
  648.     (This)->lpVtbl -> AddRef(This)
  649.  
  650. #define IAudioData_Release(This)    \
  651.     (This)->lpVtbl -> Release(This)
  652.  
  653.  
  654. #define IAudioData_SetBuffer(This,cbSize,pbData,dwFlags)    \
  655.     (This)->lpVtbl -> SetBuffer(This,cbSize,pbData,dwFlags)
  656.  
  657. #define IAudioData_GetInfo(This,pdwLength,ppbData,pcbActualData)    \
  658.     (This)->lpVtbl -> GetInfo(This,pdwLength,ppbData,pcbActualData)
  659.  
  660. #define IAudioData_SetActual(This,cbDataValid)    \
  661.     (This)->lpVtbl -> SetActual(This,cbDataValid)
  662.  
  663.  
  664. #define IAudioData_GetFormat(This,pWaveFormatCurrent)    \
  665.     (This)->lpVtbl -> GetFormat(This,pWaveFormatCurrent)
  666.  
  667. #define IAudioData_SetFormat(This,lpWaveFormat)    \
  668.     (This)->lpVtbl -> SetFormat(This,lpWaveFormat)
  669.  
  670. #endif /* COBJMACROS */
  671.  
  672.  
  673. #endif     /* C style interface */
  674.  
  675.  
  676.  
  677. HRESULT STDMETHODCALLTYPE IAudioData_GetFormat_Proxy( 
  678.     IAudioData * This,
  679.     /* [out] */ WAVEFORMATEX *pWaveFormatCurrent);
  680.  
  681.  
  682. void __RPC_STUB IAudioData_GetFormat_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687.  
  688.  
  689. HRESULT STDMETHODCALLTYPE IAudioData_SetFormat_Proxy( 
  690.     IAudioData * This,
  691.     /* [in] */ const WAVEFORMATEX *lpWaveFormat);
  692.  
  693.  
  694. void __RPC_STUB IAudioData_SetFormat_Stub(
  695.     IRpcStubBuffer *This,
  696.     IRpcChannelBuffer *_pRpcChannelBuffer,
  697.     PRPC_MESSAGE _pRpcMessage,
  698.     DWORD *_pdwStubPhase);
  699.  
  700.  
  701.  
  702. #endif     /* __IAudioData_INTERFACE_DEFINED__ */
  703.  
  704.  
  705. /* Additional Prototypes for ALL interfaces */
  706.  
  707. /* end of Additional Prototypes */
  708.  
  709. #ifdef __cplusplus
  710. }
  711. #endif
  712.  
  713. #endif
  714.  
  715.  
  716.